home *** CD-ROM | disk | FTP | other *** search
/ Chip 2003 - Homepage / CHIP.BIN / share / webmaste / csehtmlp / csehtmlp.exe / {app} / ParserRules / oberon.xs < prev    next >
Encoding:
Text File  |  2002-04-22  |  2.5 KB  |  83 lines

  1. //Language: Oberon
  2. //Copyright (c) 1992-2002 Altium Limited             
  3. //All rights reserved.                               
  4. //http://www.dream-com.com                           
  5. //contact@dream-com.com                              
  6.  
  7. // states
  8. State=snormal
  9. State=sstring
  10. State=scomment
  11. // tokens
  12. Token=tnone
  13. Token=tstring
  14. Token=tcomment
  15. Token=tident
  16. Token=tinteger
  17. Token=tfloat
  18. Token=tresword
  19. Token=tassembler
  20. Token=turl
  21. Token=twhitespace
  22. //delims
  23. Delimiters=;.,:'"{}[]()?!@#$%^&*-+=|\/
  24.  
  25. // reswords
  26. snormal 'ARRAY'     snormal tresword
  27. snormal 'BEGIN'     snormal tresword
  28. snormal 'CASE'      snormal tresword
  29. snormal 'CONST'     snormal tresword
  30. snormal 'DIV'       snormal tresword
  31. snormal 'DO'        snormal tresword
  32. snormal 'ELSE'      snormal tresword
  33. snormal 'ELSIF'     snormal tresword
  34. snormal 'END'       snormal tresword
  35. snormal 'EXIT'      snormal tresword
  36. snormal 'IF'        snormal tresword
  37. snormal 'IMPORT'    snormal tresword
  38. snormal 'IN'        snormal tresword
  39. snormal 'IS'        snormal tresword
  40. snormal 'LOOP'      snormal tresword
  41. snormal 'MOD'       snormal tresword
  42. snormal 'MODULE'    snormal tresword
  43. snormal 'NIL'       snormal tresword
  44. snormal 'OF'        snormal tresword
  45. snormal 'OR'        snormal tresword
  46. snormal 'POINTER'   snormal tresword
  47. snormal 'PROCEDURE' snormal tresword
  48. snormal 'RECORD'    snormal tresword
  49. snormal 'REPEAT'    snormal tresword
  50. snormal 'RETURN'    snormal tresword
  51. snormal 'THEN'      snormal tresword
  52. snormal 'TO'        snormal tresword
  53. snormal 'TYPE'      snormal tresword
  54. snormal 'UNTIL'     snormal tresword
  55. snormal 'VAR'       snormal tresword
  56. snormal 'WHILE'     snormal tresword
  57. snormal 'WITH'      snormal tresword
  58.  
  59.  // numbers
  60. snormal [0-9][0-9]*                            snormal  tinteger
  61. snormal [1-9][0-9]*\.[0-9]*                    snormal  tfloat
  62. snormal [1-9][0-9]*{\.[0-9]+}|e{[\+\-]}|[0-9]+ snormal  tfloat
  63.  
  64. //idents
  65. snormal   [a-z_A-Z][a-z_A-Z0-9]*  snormal   tident
  66.  
  67. //white space
  68. snormal #32*                      snormal   twhitespace
  69.  
  70. //strings
  71. snormal   \"                     sstring   tstring
  72. sstring   [^\"]*                 sstring   tstring
  73. sstring   \"                     snormal    tstring
  74. sstring   \"\"                   sstring   tstring
  75. sstring   $                      snormal    tstring
  76.  
  77.  
  78. //comments
  79. snormal   (\*                     scomment tcomment 
  80. scomment  [^\*]*                  scomment tcomment
  81. scomment  \*[^)]                  scomment tcomment
  82. scomment  [\*]*)                  snormal  tcomment
  83.